package cn.test.demo.base_demo.service;

import cn.test.demo.base_demo.entity.Product;
import cn.test.demo.base_demo.security.AdminOnly;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * @author 王杨帅
 * @create 2018-04-29 17:14
 * @desc 商品服务层
 **/
@Service
@Slf4j
public class ProductService {

    private final String className = getClass().getName();

    /**
     * 依赖注入权限校验服务
     */
    @Autowired
    private AuthService authService;

    public void insert(Product product) {
        authService.checkAccess(); // 利用权限校验对象进行权限校验，不是 ”admin" 就会报错
        log.info("===/" + className + "/insert===新增数据");
    }

    @AdminOnly
    public void delete(Integer id) {
//        authService.checkAccess(); // 利用权限校验对象进行权限校验
        log.info("===/" + className + "/delete===删除数据");
    }
}

